package jheej5024;

public class J24_CompareObject {

	//객체비교하기
	//"내 차 색과 당신 차 색깔이 똑같다"
	//"내 차와 당신 차가 똑같다" (상태,색상,종류)
	//클래스의 객체는 실제 데이터가 저장된 주소를 가지고 있기 때문에
	//단순비교==로 객체가 같은지 알 수 없음
	//자바에서는 기본적으로 객체를 비교할때에는
	//equals, hashCode 메서드를 이용함
	//또한, 유틸리티 클래스인 Compareable,
	//Comparator 등을 이용하기도 함
	
	//참고로, String 객체를 비교할때에는
	//equals 메서드를 이용해서 비교해야 함
	
	
	public static void main(String[] args) {
		CarVO mycar = new CarVO("새것","빨강","스포츠카");
		CarVO yourcar = new CarVO("새것","빨강","스포츠카");
		
		System.out.println( mycar);
		System.out.println( yourcar);
		
		
		if(mycar==yourcar)
			System.out.println("내꺼랑 네꺼랑 같음");
		else
			System.out.println("내꺼랑 네꺼랑 다름");
		
		/*----------------------------------*/
		
		if(mycar.color==yourcar.color)
			System.out.println("내꺼랑 네꺼랑 같음");
		else
			System.out.println("내꺼랑 네꺼랑 다름");
		
		/*----------------------------------*/
		String char1 = "가";
		String char2 = "가";
		if(char1==char2)
			System.out.println( "내꺼랑 네꺼랑 같음");
		else
		    System.out.println( "내꺼랑 네꺼랑 다름??");
		
		
		/*----------------------------------*/
		String char3 = "나";
		String char4 = new String("나");
		if(char3==char4)
			System.out.println( "char3랑 char4랑 같음");
		else
		    System.out.println( "char3랑 char4랑 다름??");
		
		
		if(char3.equals(char4))
			System.out.println( "내꺼랑 네꺼랑 같음");
		else
		    System.out.println( "내꺼랑 네꺼랑 다름??");


		/*----------------------------------*/
		String char5 = "다";
		String char6 = "다";
		if(char5==char6)
			System.out.println( "char5랑 char6랑 같음");
		if(char5.equals(char6))
		    System.out.println( "char5랑 char6랑 같음??");
		
	}
	
}

class CarVO{
  public String status;
  public String color;
  public String type;
  public CarVO() {
	
}
  
  public CarVO(String status,String color,String type){
		this.status=status;
		this.color=color;
		this.type=type;
	}

}

